x86/mm: Provide support for multiple frame buffers in HVM guests.
authorRobert Phillips <robert.phillips@citrix.com>
Thu, 17 Jan 2013 11:53:42 +0000 (11:53 +0000)
committerRobert Phillips <robert.phillips@citrix.com>
Thu, 17 Jan 2013 11:53:42 +0000 (11:53 +0000)
commitbae850f060b4819188cfe35f65ba925eb6c4f4ac
treea1fd57c3ce29276f808899f244099d202dfc1cbd
parentcda084b3d8901dab95f22aa6047e103e1032d486
x86/mm: Provide support for multiple frame buffers in HVM guests.

Support is provided for both shadow and hardware assisted paging (HAP)
modes. This code bookkeeps the set of video frame buffers (vram),
detects when the guest has modified any of those buffers and, upon request,
returns a bitmap of the modified pages.
This lets other software components re-paint the portions of the monitor
(or monitors) that have changed.
Each monitor has a frame buffer of some size at some position
in guest physical memory.
The set of frame buffers being tracked can change over time as monitors
are plugged and unplugged.

Signed-off-by: Robert Phillips <robert.phillips@citrix.com>
Acked-by: Tim Deegan <tim@xen.org>
Removed a stray #include and a few hard tabs.

Signed-off-by: Tim Deegan <tim@xen.org>
Committed-by: Tim Deegan <tim@xen.org>
16 files changed:
tools/libxc/xenctrl.h
xen/arch/x86/hvm/hvm.c
xen/arch/x86/mm/Makefile
xen/arch/x86/mm/dirty_vram.c [new file with mode: 0644]
xen/arch/x86/mm/hap/hap.c
xen/arch/x86/mm/p2m.c
xen/arch/x86/mm/paging.c
xen/arch/x86/mm/shadow/common.c
xen/arch/x86/mm/shadow/multi.c
xen/arch/x86/mm/shadow/multi.h
xen/arch/x86/mm/shadow/types.h
xen/include/asm-x86/dirty_vram.h [new file with mode: 0644]
xen/include/asm-x86/hap.h
xen/include/asm-x86/hvm/domain.h
xen/include/asm-x86/paging.h
xen/include/asm-x86/shadow.h